<!doctype html>
<html>
<head>
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
<title>netword</title><link href='https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext' rel='stylesheet' type='text/css' /><style type='text/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; }
html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
iframe { margin: auto; }
a.url { word-break: break-all; }
a:active, a:hover { outline: 0px; }
.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 40px; }
#write.first-line-indent p { text-indent: 2em; }
#write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }
#write.first-line-indent li { margin-left: 2em; }
.for-image #write { padding-left: 8px; padding-right: 8px; }
body.typora-export { padding-left: 30px; padding-right: 30px; }
.typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }
@media screen and (max-width: 500px) {
  body.typora-export { padding-left: 0px; padding-right: 0px; }
  #write { padding-left: 20px; padding-right: 20px; }
  .CodeMirror-sizer { margin-left: 0px !important; }
  .CodeMirror-gutters { display: none !important; }
}
#write li > figure:last-child { margin-bottom: 0.5rem; }
#write ol, #write ul { position: relative; }
img { max-width: 100%; vertical-align: middle; }
button, input, select, textarea { color: inherit; font: inherit; }
input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
*, ::after, ::before { box-sizing: border-box; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
p { line-height: inherit; }
h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 2; }
p { orphans: 4; }
h1 { font-size: 2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1rem; }
.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
.hidden { display: none; }
.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
a { cursor: pointer; }
sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
figure > table { margin: 0px !important; }
tr { break-inside: avoid; break-after: auto; }
thead { display: table-header-group; }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
table.md-table td { min-width: 32px; }
.CodeMirror-gutters { border-right: 0px; background-color: inherit; }
.CodeMirror-linenumber { user-select: none; }
.CodeMirror { text-align: left; }
.CodeMirror-placeholder { opacity: 0.3; }
.CodeMirror pre { padding: 0px 4px; }
.CodeMirror-lines { padding: 0px; }
div.hr:focus { cursor: none; }
#write pre { white-space: pre-wrap; }
#write.fences-no-line-wrapping pre { white-space: pre; }
#write pre.ty-contain-cm { white-space: normal; }
.CodeMirror-gutters { margin-right: 4px; }
.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
#write .md-fences.mock-cm { white-space: pre-wrap; }
.md-fences.md-fences-with-lineno { padding-left: 0px; }
#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }
.CodeMirror-line, twitterwidget { break-inside: avoid; }
.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
.footnotes + .footnotes { margin-top: 0px; }
.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
li div { padding-top: 0px; }
blockquote { margin: 1rem 0px; }
li .mathjax-block, li p { margin: 0.5rem 0px; }
li { margin: 0px; position: relative; }
blockquote > :last-child { margin-bottom: 0px; }
blockquote > :first-child, li > :first-child { margin-top: 0px; }
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
#write .footnote-line { white-space: pre-wrap; }
@media print {
  body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; }
  #write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
  .typora-export * { -webkit-print-color-adjust: exact; }
  html.blink-to-pdf { font-size: 13px; }
  .typora-export #write { padding-left: 32px; padding-right: 32px; padding-bottom: 0px; break-after: avoid; }
  .typora-export #write::after { height: 0px; }
}
.footnote-line { margin-top: 0.714em; font-size: 0.7em; }
a img, img a { cursor: pointer; }
pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
p > .md-image:only-child { display: inline-block; width: 100%; }
#write .MathJax_Display { margin: 0.8em 0px 0px; }
.md-math-block { width: 100%; }
.md-math-block:not(:empty)::after { display: none; }
[contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; }
.md-task-list-item { position: relative; list-style-type: none; }
.task-list-item.md-task-list-item { padding-left: 0px; }
.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
.math { font-size: 1rem; }
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
.md-toc-content { position: relative; margin-left: 0px; }
.md-toc-content::after, .md-toc::after { display: none; }
.md-toc-item { display: block; color: rgb(65, 131, 196); }
.md-toc-item a { text-decoration: none; }
.md-toc-inner:hover { text-decoration: underline; }
.md-toc-inner { display: inline-block; cursor: pointer; }
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
.md-toc-h2 .md-toc-inner { margin-left: 2em; }
.md-toc-h3 .md-toc-inner { margin-left: 4em; }
.md-toc-h4 .md-toc-inner { margin-left: 6em; }
.md-toc-h5 .md-toc-inner { margin-left: 8em; }
.md-toc-h6 .md-toc-inner { margin-left: 10em; }
@media screen and (max-width: 48em) {
  .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
  .md-toc-h4 .md-toc-inner { margin-left: 5em; }
  .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
  .md-toc-h6 .md-toc-inner { margin-left: 8em; }
}
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
.footnote-line a:not(.reversefootnote) { color: inherit; }
.md-attr { display: none; }
.md-fn-count::after { content: "."; }
code, pre, samp, tt { font-family: var(--monospace); }
kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
.md-comment { color: rgb(162, 127, 3); opacity: 0.8; font-family: var(--monospace); }
code { text-align: left; vertical-align: initial; }
a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
.md-inline-math .MathJax_SVG .noError { display: none !important; }
.html-for-mac .inline-math-svg .MathJax_SVG { vertical-align: 0.2px; }
.md-math-block .MathJax_SVG_Display { text-align: center; margin: 0px; position: relative; text-indent: 0px; max-width: none; max-height: none; min-height: 0px; min-width: 100%; width: auto; overflow-y: hidden; display: block !important; }
.MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }
.MathJax_SVG .MJX-monospace { font-family: var(--monospace); }
.MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }
.MathJax_SVG { display: inline; font-style: normal; font-weight: 400; line-height: normal; zoom: 90%; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; }
.MathJax_SVG * { transition: none 0s ease 0s; }
.MathJax_SVG_Display svg { vertical-align: middle !important; margin-bottom: 0px !important; margin-top: 0px !important; }
.os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
.md-diagram-panel > svg { max-width: 100%; }
[lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; }
[lang="mermaid"] .node text { font-size: 1rem; }
table tr th { border-bottom: 0px; }
video { max-width: 100%; display: block; margin: 0px auto; }
iframe { max-width: 100%; width: 100%; border: none; }
.highlight td, .highlight tr { border: 0px; }
svg[id^="mermaidChart"] { line-height: 1em; }
mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }
.md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }
mark .md-meta { color: rgb(0, 0, 0); opacity: 0.3 !important; }


.CodeMirror { height: auto; }
.CodeMirror.cm-s-inner { background: inherit; }
.CodeMirror-scroll { overflow: auto hidden; z-index: 3; }
.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }
.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
.cm-s-inner .cm-number { color: rgb(17, 102, 68); }
.cm-s-inner .cm-def { color: rgb(0, 0, 255); }
.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
.cm-s-inner .cm-string { color: rgb(170, 17, 17); }
.cm-s-inner .cm-property { color: rgb(0, 0, 0); }
.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }
.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
.cm-negative { color: rgb(221, 68, 68); }
.cm-positive { color: rgb(34, 153, 34); }
.cm-header, .cm-strong { font-weight: 700; }
.cm-del { text-decoration: line-through; }
.cm-em { font-style: italic; }
.cm-link { text-decoration: underline; }
.cm-error { color: red; }
.cm-invalidchar { color: red; }
.cm-constant { color: rgb(38, 139, 210); }
.cm-defined { color: rgb(181, 137, 0); }
div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
.cm-s-inner .CodeMirror-activeline-background { background: inherit; }
.CodeMirror { position: relative; overflow: hidden; }
.CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }
.CodeMirror-sizer { position: relative; }
.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; }
.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }
.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: hidden; }
.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 30px; z-index: 3; }
.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
.CodeMirror-lines { cursor: text; }
.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
.CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }
.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
.CodeMirror-linebackground { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 0; }
.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
.cm-searching { background: rgba(255, 255, 0, 0.4); }
@media print {
  .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
}


:root {
    --side-bar-bg-color: #fafafa;
    --control-text-color: #777;
}

@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);

html {
    font-size: 16px;
}

body {
    font-family: "Open Sans","Clear Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    color: rgb(51, 51, 51);
    line-height: 1.6;
}

#write {
    max-width: 860px;
  	margin: 0 auto;
  	padding: 30px;
    padding-bottom: 100px;
}
#write > ul:first-child,
#write > ol:first-child{
    margin-top: 30px;
}

a {
    color: #4183C4;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    position: relative;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: bold;
    line-height: 1.4;
    cursor: text;
}
h1:hover a.anchor,
h2:hover a.anchor,
h3:hover a.anchor,
h4:hover a.anchor,
h5:hover a.anchor,
h6:hover a.anchor {
    text-decoration: none;
}
h1 tt,
h1 code {
    font-size: inherit;
}
h2 tt,
h2 code {
    font-size: inherit;
}
h3 tt,
h3 code {
    font-size: inherit;
}
h4 tt,
h4 code {
    font-size: inherit;
}
h5 tt,
h5 code {
    font-size: inherit;
}
h6 tt,
h6 code {
    font-size: inherit;
}
h1 {
    padding-bottom: .3em;
    font-size: 2.25em;
    line-height: 1.2;
    border-bottom: 1px solid #eee;
}
h2 {
   padding-bottom: .3em;
    font-size: 1.75em;
    line-height: 1.225;
    border-bottom: 1px solid #eee;
}
h3 {
    font-size: 1.5em;
    line-height: 1.43;
}
h4 {
    font-size: 1.25em;
}
h5 {
    font-size: 1em;
}
h6 {
   font-size: 1em;
    color: #777;
}
p,
blockquote,
ul,
ol,
dl,
table{
    margin: 0.8em 0;
}
li>ol,
li>ul {
    margin: 0 0;
}
hr {
    height: 2px;
    padding: 0;
    margin: 16px 0;
    background-color: #e7e7e7;
    border: 0 none;
    overflow: hidden;
    box-sizing: content-box;
}

li p.first {
    display: inline-block;
}
ul,
ol {
    padding-left: 30px;
}
ul:first-child,
ol:first-child {
    margin-top: 0;
}
ul:last-child,
ol:last-child {
    margin-bottom: 0;
}
blockquote {
    border-left: 4px solid #dfe2e5;
    padding: 0 15px;
    color: #777777;
}
blockquote blockquote {
    padding-right: 0;
}
table {
    padding: 0;
    word-break: initial;
}
table tr {
    border-top: 1px solid #dfe2e5;
    margin: 0;
    padding: 0;
}
table tr:nth-child(2n),
thead {
    background-color: #f8f8f8;
}
table tr th {
    font-weight: bold;
    border: 1px solid #dfe2e5;
    border-bottom: 0;
    margin: 0;
    padding: 6px 13px;
}
table tr td {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 6px 13px;
}
table tr th:first-child,
table tr td:first-child {
    margin-top: 0;
}
table tr th:last-child,
table tr td:last-child {
    margin-bottom: 0;
}

.CodeMirror-lines {
    padding-left: 4px;
}

.code-tooltip {
    box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
    border-top: 1px solid #eef2f2;
}

.md-fences,
code,
tt {
    border: 1px solid #e7eaed;
    background-color: #f8f8f8;
    border-radius: 3px;
    padding: 0;
    padding: 2px 4px 0px 4px;
    font-size: 0.9em;
}

code {
    background-color: #f3f4f4;
    padding: 0 2px 0 2px;
}

.md-fences {
    margin-bottom: 15px;
    margin-top: 15px;
    padding-top: 8px;
    padding-bottom: 6px;
}


.md-task-list-item > input {
  margin-left: -1.3em;
}

@media print {
    html {
        font-size: 13px;
    }
    table,
    pre {
        page-break-inside: avoid;
    }
    pre {
        word-wrap: break-word;
    }
}

.md-fences {
	background-color: #f8f8f8;
}
#write pre.md-meta-block {
	padding: 1rem;
    font-size: 85%;
    line-height: 1.45;
    background-color: #f7f7f7;
    border: 0;
    border-radius: 3px;
    color: #777777;
    margin-top: 0 !important;
}

.mathjax-block>.code-tooltip {
	bottom: .375rem;
}

.md-mathjax-midline {
    background: #fafafa;
}

#write>h3.md-focus:before{
	left: -1.5625rem;
	top: .375rem;
}
#write>h4.md-focus:before{
	left: -1.5625rem;
	top: .285714286rem;
}
#write>h5.md-focus:before{
	left: -1.5625rem;
	top: .285714286rem;
}
#write>h6.md-focus:before{
	left: -1.5625rem;
	top: .285714286rem;
}
.md-image>.md-meta {
    /*border: 1px solid #ddd;*/
    border-radius: 3px;
    padding: 2px 0px 0px 4px;
    font-size: 0.9em;
    color: inherit;
}

.md-tag {
    color: #a7a7a7;
    opacity: 1;
}

.md-toc { 
    margin-top:20px;
    padding-bottom:20px;
}

.sidebar-tabs {
    border-bottom: none;
}

#typora-quick-open {
    border: 1px solid #ddd;
    background-color: #f8f8f8;
}

#typora-quick-open-item {
    background-color: #FAFAFA;
    border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
    border-style: solid;
    border-width: 1px;
}

/** focus mode */
.on-focus-mode blockquote {
    border-left-color: rgba(85, 85, 85, 0.12);
}

header, .context-menu, .megamenu-content, footer{
    font-family: "Segoe UI", "Arial", sans-serif;
}

.file-node-content:hover .file-node-icon,
.file-node-content:hover .file-node-open-state{
    visibility: visible;
}

.mac-seamless-mode #typora-sidebar {
    background-color: #fafafa;
    background-color: var(--side-bar-bg-color);
}

.md-lang {
    color: #b4654d;
}

.html-for-mac .context-menu {
    --item-hover-bg-color: #E6F0FE;
}

#md-notification .btn {
    border: 0;
}

.dropdown-menu .divider {
    border-color: #e5e5e5;
}

.ty-preferences .window-content {
    background-color: #fafafa;
}

.ty-preferences .nav-group-item.active {
    color: white;
    background: #999;
}


</style>
</head>
<body class='typora-export os-windows' >
<div  id='write'  class = 'is-node'><div class='md-toc' mdtype='toc'><p class="md-toc-content" role="list"><span role="listitem" class="md-toc-item md-toc-h1" data-ref="n2707"><a class="md-toc-inner" href="#计算机网络">计算机网络</a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n2708"><a class="md-toc-inner" href="#1-计算机网络概述">1 计算机网络概述</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2709"><a class="md-toc-inner" href="#11-数据包和数据帧">1.1 数据包和数据帧</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2715"><a class="md-toc-inner" href="#13-因特网的组成">1.3 因特网的组成</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2722"><a class="md-toc-inner" href="#131-因特网的边缘部分">1.3.1 因特网的边缘部分</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2755"><a class="md-toc-inner" href="#132-因特网的核心部分">1.3.2 因特网的核心部分</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n2769"><a class="md-toc-inner" href="#1-电路交换的主要特点">(1) 电路交换的主要特点</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n2804"><a class="md-toc-inner" href="#2-分组交换的主要特点">(2) 分组交换的主要特点</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2887"><a class="md-toc-inner" href="#1-4-计算机网络在我国的发展">1. 4 计算机网络在我国的发展</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2888"><a class="md-toc-inner" href="#15-计算机网络的分类">1.5 计算机网络的分类</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2889"><a class="md-toc-inner" href="#16-计算机网络的性能">1.6 计算机网络的性能</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2951"><a class="md-toc-inner" href="#17--计算机网络的体系结构">1.7  计算机网络的体系结构</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2952"><a class="md-toc-inner" href="#173-主机与主机发送数据过程">1.7.3 主机与主机发送数据过程</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2954"><a class="md-toc-inner" href="#174-实体协议服务-和服务访问点">1.7.4 实体、协议、服务 和服务访问点 </a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n2964"><a class="md-toc-inner" href="#2-物理层">2 物理层</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2965"><a class="md-toc-inner" href="#21-物理层的基本概念">2.1 物理层的基本概念</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n2978"><a class="md-toc-inner" href="#22-数据通信的基础知识">2.2 数据通信的基础知识</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2979"><a class="md-toc-inner" href="#221-数据通信系统的模型">2.2.1 数据通信系统的模型</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2987"><a class="md-toc-inner" href="#222-有关信道的几个基本概念">2.2.2 有关信道的几个基本概念</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n2995"><a class="md-toc-inner" href="#223-信道的极限容量">2.2.3 信道的极限容量</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n2996"><a class="md-toc-inner" href="#1）信道能够通过的频率范围">（1）信道能够通过的频率范围</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n3000"><a class="md-toc-inner" href="#2-信噪比">(2) 信噪比 </a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3019"><a class="md-toc-inner" href="#224-信道的极限信息传输速率">2.2.4 信道的极限信息传输速率</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3020"><a class="md-toc-inner" href="#23-物理层下面的传输媒体">2.3 物理层下面的传输媒体</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3022"><a class="md-toc-inner" href="#231-导向传输媒体">2.3.1 导向传输媒体</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3023"><a class="md-toc-inner" href="#232-非导向传输媒体">2.3.2 非导向传输媒体</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3024"><a class="md-toc-inner" href="#24-信道复用技术">2.4 信道复用技术</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3026"><a class="md-toc-inner" href="#241-频分复用时分复用和统计时分复用">2.4.1 频分复用、时分复用和统计时分复用</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3031"><a class="md-toc-inner" href="#242-波分复用">2.4.2 波分复用</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3033"><a class="md-toc-inner" href="#243-码分复用">2.4.3 码分复用</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3035"><a class="md-toc-inner" href="#25-数字传输系统">2.5 数字传输系统</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3036"><a class="md-toc-inner" href="#26-宽带接入技术">2.6 宽带接入技术</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3037"><a class="md-toc-inner" href="#261-xdsl技术">2.6.1 xDSL技术</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3038"><a class="md-toc-inner" href="#262-光纤同轴混合网hfc-网）">2.6.2 光纤同轴混合网（HFC 网）</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3039"><a class="md-toc-inner" href="#263-fttx-技术">2.6.3 FTTx 技术</a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n3040"><a class="md-toc-inner" href="#3-数据链路层">3. 数据链路层</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3049"><a class="md-toc-inner" href="#31-使用点对点信道的数据链路层">3.1 使用点对点信道的数据链路层</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3050"><a class="md-toc-inner" href="#311-数据链路和帧">3.1.1 数据链路和帧</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3063"><a class="md-toc-inner" href="#312-三个基本问题">3.1.2 三个基本问题</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n3064"><a class="md-toc-inner" href="#1-封装成帧">(1) 封装成帧</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n3071"><a class="md-toc-inner" href="#2-透明传输">(2) 透明传输</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n3074"><a class="md-toc-inner" href="#3-差错控制">(3) 差错控制 </a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3076"><a class="md-toc-inner" href="#32-点对点协议-ppp">3.2 点对点协议 PPP</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3086"><a class="md-toc-inner" href="#321-ppp-协议的特点">3.2.1 PPP 协议的特点</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n3087"><a class="md-toc-inner" href="#ppp-协议的组成">PPP 协议的组成 </a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3100"><a class="md-toc-inner" href="#322-ppp-协议的帧格式">3.2.2 PPP 协议的帧格式</a></span><span role="listitem" class="md-toc-item md-toc-h5" data-ref="n3111"><a class="md-toc-inner" href="#透明传输问题">透明传输问题</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3126"><a class="md-toc-inner" href="#323-ppp-协议的工作状态">3.2.3 PPP 协议的工作状态</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3136"><a class="md-toc-inner" href="#33-使用广播信道的数据链路层">3.3 使用广播信道的数据链路层</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3137"><a class="md-toc-inner" href="#331-局域网的数据链路层">3.3.1 局域网的数据链路层</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3170"><a class="md-toc-inner" href="#332-csmacd-协议">3.3.2 CSMA/CD 协议</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3235"><a class="md-toc-inner" href="#34-使用广播信道的以太网">3.4 使用广播信道的以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3236"><a class="md-toc-inner" href="#341-使用集线器的星形拓扑">3.4.1 使用集线器的星形拓扑</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3237"><a class="md-toc-inner" href="#342-以太网的信道利用率">3.4.2 以太网的信道利用率</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3238"><a class="md-toc-inner" href="#343-以太网的-mac-层">3.4.3 以太网的 MAC 层</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3239"><a class="md-toc-inner" href="#35-扩展的以太网">3.5 扩展的以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3240"><a class="md-toc-inner" href="#351-在物理层扩展以太网">3.5.1 在物理层扩展以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3241"><a class="md-toc-inner" href="#352-在数据链路层扩展以太网">3.5.2 在数据链路层扩展以太网</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3242"><a class="md-toc-inner" href="#36-高速以太网">3.6 高速以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3243"><a class="md-toc-inner" href="#361-100base-t-以太网">3.6.1 100BASE-T 以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3244"><a class="md-toc-inner" href="#362-吉比特以太网">3.6.2 吉比特以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3245"><a class="md-toc-inner" href="#363-10-吉比特以太网">3.6.3 10 吉比特以太网</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3246"><a class="md-toc-inner" href="#364-使用高速以太网进行宽带接入">3.6.4 使用高速以太网进行宽带接入</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3247"><a class="md-toc-inner" href="#37-其他类型的高速局域网接口">3.7 其他类型的高速局域网接口</a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n3248"><a class="md-toc-inner" href="#4-网络层">4 网络层</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3256"><a class="md-toc-inner" href="#41-发送数据的过程">4.1 发送数据的过程</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3258"><a class="md-toc-inner" href="#42-arp协议">4.2 ARP协议</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3262"><a class="md-toc-inner" href="#421-arp欺骗">4.2.1 ARP欺骗</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3273"><a class="md-toc-inner" href="#43-icmp">4.3 ICMP</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3281"><a class="md-toc-inner" href="#44-igmp">4.4 IGMP</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3285"><a class="md-toc-inner" href="#45-ip数据包">4.5 ip数据包</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3302"><a class="md-toc-inner" href="#451-数据包的总长度和分片">4.5.1 数据包的总长度和分片</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3309"><a class="md-toc-inner" href="#46-ip协议">4.6 IP协议</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3314"><a class="md-toc-inner" href="#461-动态路由和静态路由">4.6.1 动态路由和静态路由</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3324"><a class="md-toc-inner" href="#47-ip地址">4.7 ip地址</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3325"><a class="md-toc-inner" href="#471-分类地址和默认子网掩码">4.7.1 分类地址和默认子网掩码</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3331"><a class="md-toc-inner" href="#472-保留的地址">4.7.2 保留的地址</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3338"><a class="md-toc-inner" href="#473-子网掩码的作用">4.7.3 子网掩码的作用</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3356"><a class="md-toc-inner" href="#474-子网划分">4.7.4 子网划分</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3357"><a class="md-toc-inner" href="#网关案例">网关案例</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3359"><a class="md-toc-inner" href="#472-利用超网合并网络">4.7.2 利用超网合并网络</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3361"><a class="md-toc-inner" href="#48-vpn">4.8 VPN</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3363"><a class="md-toc-inner" href="#49-nat和pat">4.9 NAT和PAT</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3373"><a class="md-toc-inner" href="#491-虚拟机网络设置">4.9.1 虚拟机网络设置</a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n3376"><a class="md-toc-inner" href="#5-传输层">5 传输层</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3391"><a class="md-toc-inner" href="#51-常用端口">5.1 常用端口</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3401"><a class="md-toc-inner" href="#52-telnet-扫描端口">5.2 telnet 扫描端口</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3404"><a class="md-toc-inner" href="#53-设置ip安全策略">5.3 设置ip安全策略</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3407"><a class="md-toc-inner" href="#54-tcp协议">5.4 TCP协议</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3416"><a class="md-toc-inner" href="#541-可靠性传输">5.4.1 可靠性传输</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3421"><a class="md-toc-inner" href="#55-tcp报文格式">5.5 TCP报文格式</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3461"><a class="md-toc-inner" href="#流量控制">流量控制</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3463"><a class="md-toc-inner" href="#拥塞控制">拥塞控制</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3480"><a class="md-toc-inner" href="#传输连接">传输连接</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3496"><a class="md-toc-inner" href="#56-攻击手段">5.6 攻击手段</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3466"><a class="md-toc-inner" href="#滑动窗口技术">滑动窗口技术</a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n3472"><a class="md-toc-inner" href="#6-应用层">6. 应用层</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3512"><a class="md-toc-inner" href="#61-域名服务器">6.1 域名服务器</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3519"><a class="md-toc-inner" href="#62-dhcp">6.2 DHCP</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3537"><a class="md-toc-inner" href="#63-ftp协议">6.3 FTP协议</a></span><span role="listitem" class="md-toc-item md-toc-h4" data-ref="n3542"><a class="md-toc-inner" href="#主动和被动">主动和被动</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3553"><a class="md-toc-inner" href="#64-远程终端协议telnet">6.4 远程终端协议telnet</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3558"><a class="md-toc-inner" href="#65-http协议">6.5 http协议</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3559"><a class="md-toc-inner" href="#66-web代理服务器">6.6 web代理服务器</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3562"><a class="md-toc-inner" href="#67-邮箱协议">6.7 邮箱协议</a></span><span role="listitem" class="md-toc-item md-toc-h2" data-ref="n3582"><a class="md-toc-inner" href="#7-网络安全">7 网络安全</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3599"><a class="md-toc-inner" href="#71-截获">7.1 截获</a></span><span role="listitem" class="md-toc-item md-toc-h3" data-ref="n3614"><a class="md-toc-inner" href="#72-截获">7.2 截获</a></span></p></div><h1><a name="计算机网络" class="md-header-anchor"></a><span>计算机网络</span></h1><h2><a name="1-计算机网络概述" class="md-header-anchor"></a><span>1 计算机网络概述</span></h2><h3><a name="11-数据包和数据帧" class="md-header-anchor"></a><span>1.1 数据包和数据帧</span></h3><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503001709017.png" referrerpolicy="no-referrer"></p><blockquote><p><span>数据包组成:数据 + 源ip地址 + 目的ip地址</span></p><p><span>数据帧组成:数据包+ 源mac地址 + 目的mac地址</span></p></blockquote><p>&nbsp;</p><h3><a name="13-因特网的组成" class="md-header-anchor"></a><span>1.3 因特网的组成</span></h3><ol start='' ><li><span>边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的，用来进行通信（传送数据、音频或视频）和资源共享。</span></li><li><span>核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的（提供连通性和交换）。</span></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503004230614.png" referrerpolicy="no-referrer" alt="image-20200503004230614"></p><h4><a name="131-因特网的边缘部分" class="md-header-anchor"></a><span>1.3.1 因特网的边缘部分</span></h4><ol start='' ><li><span>处在因特网边缘的部分就是连接在因特网上的所有的主机。这些主机又称为端系统(end system)。</span></li><li><span>“主机 A 和主机 B 进行通信”，实际上是指：“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。</span></li><li><span>即“主机 </span><strong><span>A</span></strong><span> 的某个进程和主机 B 上的另一个进程进行通信”。或简称为“计算机之间通信” </span></li></ol><ul><li><span>两种通讯方式</span></li></ul><blockquote><p><span>在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类：</span></p><ol start='' ><li><p><span>客户服务器方式（C/S 方式）即Client/Server方式 </span></p><ol start='' ><li><span>客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。</span></li><li><span>客户服务器方式所描述的是进程之间服务和被服务的关系。</span></li><li><span>客户是服务的请求方，服务器是服务的提供方。</span></li></ol></li><li><p><span>对等方式（P2P 方式）即 Peer-to-Peer方式 </span></p><ol start='' ><li><span>对等连接(peer-to-peer，简写为 P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。</span></li><li><span>只要两个主机都运行了对等连接软件（P2P 软件），它们就可以进行平等的、对等连接通信。</span></li><li><span>双方都可以下载对方已经存储在硬盘中的共享文档</span></li></ol></li></ol></blockquote><p>&nbsp;</p><h4><a name="132-因特网的核心部分" class="md-header-anchor"></a><span>1.3.2 因特网的核心部分</span></h4><ol start='' ><li><span>网络核心部分是因特网中最复杂的部分。</span></li><li><span>网络中的核心部分要向网络边缘中的大量主机提供连通性，使边缘部分中的任何一个主机都能够向其他主机通信（即传送或接收各种形式的数据）。</span></li><li><span>在网络核心部分起特殊作用的是路由器(router)。</span></li><li><span>路由器是实现分组交换(packet switching)的关键构件，其任务是转发收到的分组，这是网络核心部分最重要的功能</span></li></ol><p><em><span>-路由器的重要任务</span></em></p><ul><li><span>路由器是实现分组交换(packet switching)的关键构件，其任务是转发收到的分组，这是网络核心部分最重要的功能。 </span></li></ul><h5><a name="1-电路交换的主要特点" class="md-header-anchor"></a><span>(1) 电路交换的主要特点</span></h5><ul><li><span>两部电话机只需要用一对电线就能够互相连接起来。 </span></li><li><span>5 部电话机两两相连，需 10 对电线。</span></li><li><em><span>N</span></em><span> 部电话机两两相连，需 </span><em><span>N</span></em><span>(</span><em><span>N</span></em><span> – 1)/2 对电线。</span></li><li><span>当电话机的数量很大时，这种连接方法需要的电线对的数量与电话机数的平方成正比。</span></li></ul><p><span>使用交换机解决电路交换</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503005101689.png" referrerpolicy="no-referrer" alt="image-20200503005101689"></p><ul><li><p><span>“交换”的含义</span></p><ul><li><span>在这里，“交换”(switching)的含义就是转接——把一条电话线转接到另一条电话线，使它们连通起来。</span></li><li><span>从通信资源的分配角度来看，“交换”就是按照某种方式动态地分配传输线路的资源。 </span></li></ul></li></ul><ol start='' ><li><p><span>电路交换的特点</span></p><ol start='' ><li><p><span>电路交换必定是面向连接的。 </span></p></li><li><p><span>电路交换的三个阶段：</span></p><ol start='' ><li><span>建立连接</span></li><li><span>通信</span></li><li><span>释放连接</span></li></ol></li></ol></li></ol><h5><a name="2-分组交换的主要特点" class="md-header-anchor"></a><span>(2) 分组交换的主要特点</span></h5><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503005428115.png" referrerpolicy="no-referrer" alt="image-20200503005428115"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503005522588.png" referrerpolicy="no-referrer" alt="image-20200503005522588"></p><ul><li><p><span>分组交换的传输单元</span></p><ul><li><span>分组交换网以“分组”作为数据传输单元。</span></li><li><span>依次把各分组发送到接收端（假定接收端在左边）。</span></li></ul></li><li><p><span>分组首部的重要性</span></p><ul><li><span>每一个分组的首部都含有地址等控制信息。</span></li><li><span>分组交换网中的结点交换机根据收到的分组的首部中的地址信息，把分组转发到下一个结点交换机。</span></li><li><span>用这样的存储转发方式，最后分组就能到达最终目的地。</span></li></ul></li><li><p><span>收到分组后剥去首部</span></p><ul><li><span>接收端收到分组后剥去首部还原成报文。</span></li></ul></li><li><p><span>最后还原成原来的报文</span></p><ul><li><span>最后，在接收端把收到的数据恢复成为原来的报文。</span></li><li><span>这里我们假定分组在传输过程中没有出现差错，在转发时也没有被丢弃。</span></li></ul></li><li><p><span>因特网的核心部分</span></p><ul><li><span>因特网的核心部分是由许多网络和把它们互连起来的路由器组成，而主机处在因特网的边缘部分。</span></li><li><span>在因特网核心部分的路由器之间一般都用高速链路相连接，而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。</span></li><li><span>主机的用途是为用户进行信息处理的，并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的，即进行分组交换的。 </span></li></ul></li><li><p><span>路由器</span></p><ul><li><p><span>在路由器中的输入和输出端口之间没有直接连线。</span></p></li><li><p><span>路由器处理分组的过程是：</span></p><ul><li><span>把收到的分组先放入缓存（暂时存储）；</span></li><li><span>查找转发表，找出到某个目的地址应从哪个端口转发；</span></li><li><span>把分组送到适当的端口转发出去。 </span></li></ul></li></ul></li><li><p><span>主机和路由器的作用不同</span></p><ul><li><span>主机是为用户进行信息处理的，并向网络发送分组，从网络接收分组。</span></li><li><span>路由器对分组进行存储转发，最后把分组交付目的主机。</span></li></ul></li><li><p><span>分组交换的优点</span></p><ul><li><span>高效  动态分配传输带宽，对通信链路是逐段占用。 </span></li><li><span>灵活  以分组为传送单位和查找路由。</span></li><li><span>迅速  不必先建立连接就能向其他主机发送分组。</span></li><li><span>可靠  保证可靠性的网络协议；分布式的路由选择协议使网络有很好的生存性。 </span></li></ul></li></ul><p>&nbsp;</p><ul><li><p><span>分组交换带来的问题</span></p><ul><li><span>分组在各结点存储转发时需要排队，这就会造成一定的时延。 </span></li><li><span>分组必须携带的首部（里面有必不可少的控制信息）也造成了一定的开销。 </span></li></ul></li></ul><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503010432662.png" referrerpolicy="no-referrer" alt="image-20200503010432662"></p><h3><a name="1-4-计算机网络在我国的发展" class="md-header-anchor"></a><span>1. 4 计算机网络在我国的发展</span></h3><h3><a name="15-计算机网络的分类" class="md-header-anchor"></a><span>1.5 计算机网络的分类</span></h3><h3><a name="16-计算机网络的性能" class="md-header-anchor"></a><span>1.6 计算机网络的性能</span></h3><ol start='' ><li><p><span>速率</span></p><ol start='' ><li><span>比特（bit）是计算机中数据量的单位，也是信息论中使用的信息量的单位。</span></li><li><span>Bit 来源于 binary digit，意思是一个“二进制数字”，因此一个比特就是二进制数字中的一个 1 或 0。</span></li><li><span>速率即数据率(data rate)或比特率(bit rate)是计算机网络中最重要的一个性能指标。速率的单位是 b/s，或kb/s, Mb/s, Gb/s 等</span></li><li><span>速率往往是指额定速率或标称速率。 </span></li></ol></li><li><p><span>带宽</span></p><ol start='' ><li><span>“带宽”(bandwidth)本来是指信号具有的频带宽度，单位是赫（或千赫、兆赫、吉赫等）</span></li><li><span>现在“带宽”是数字信道所能传送的“最高数据率”的同义语，单位是“比特每秒”，或 b/s (bit/s)。  </span></li></ol></li></ol><blockquote><p><span>更常用的带宽单位是</span></p><p><span>千比每秒，即 kb/s （103 b/s）</span></p><p><span>兆比每秒，即 Mb/s（106 b/s）</span></p><p><span>吉比每秒，即 Gb/s（109 b/s）</span></p><p><span>太比每秒，即 Tb/s（1012 b/s）</span></p><p><span>请注意：在计算机界，K = 210 = 1024</span></p><p><span>M = 220, G = 230, T = 240。</span></p></blockquote><ul><li><span>数字信号流随时间的变化</span></li></ul><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503011244539.png" referrerpolicy="no-referrer" alt="image-20200503011244539"></p><ol start='3' ><li><p><span>吞吐量</span></p><ol start='' ><li><span>吞吐量(throughput)表示在单位时间内通过某个网络（或信道、接口）的数据量。</span></li><li><span>吞吐量更经常地用于对现实世界中的网络的一种测量，以便知道实际上到底有多少数据量能够通过网络。</span></li><li><span>吞吐量受网络的带宽或网络的额定速率的限制。 </span></li></ol></li><li><p><span>时延</span></p><ol start='' ><li><span>传播时延</span></li><li><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503011541375.png" referrerpolicy="no-referrer" alt="image-20200503011541375"></li><li><span>传输时延（发送时延 ）  发送数据时，数据块从结点进入到传输媒体所需要的时间。</span></li><li><span>也就是从发送数据帧的第一个比特算起，到该帧的最后一个比特发送完毕所需的时间。 </span></li></ol></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503011426302.png" referrerpolicy="no-referrer" alt="image-20200503011426302"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503011621566.png" referrerpolicy="no-referrer" alt="image-20200503011621566"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503011644202.png" referrerpolicy="no-referrer" alt="image-20200503011644202"></p><ol start='5' ><li><p><span>提高速度</span></p><ol start='' ><li><span>对于高速网络链路，我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。 提高链路带宽减小了数据的发送时延</span></li></ol></li></ol><h3><a name="17--计算机网络的体系结构" class="md-header-anchor"></a><span>1.7  计算机网络的体系结构</span></h3><h4><a name="173-主机与主机发送数据过程" class="md-header-anchor"></a><span>1.7.3 主机与主机发送数据过程</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503012235391.png" referrerpolicy="no-referrer" alt="image-20200503012235391"></p><h4><a name="174-实体协议服务-和服务访问点" class="md-header-anchor"></a><span>1.7.4 实体、协议、服务 和服务访问点 </span></h4><ol start='' ><li><span>实体(entity) 表示任何可发送或接收信息的硬件或软件进程。 </span></li><li><span>协议是控制两个对等实体进行通信的规则的集合。 </span></li><li><span>在协议的控制下，两个对等实体间的通信使得本层能够向上一层提供服务。</span></li><li><span>要实现本层协议，还需要使用下层所提供的服务。 </span></li></ol><h2><a name="2-物理层" class="md-header-anchor"></a><span>2 物理层</span></h2><h3><a name="21-物理层的基本概念" class="md-header-anchor"></a><span>2.1 物理层的基本概念</span></h3><ol start='' ><li><span>物理层的主要任务描述为确定与传输媒体的接口的一些特性，即： </span></li></ol><ul><li><span>机械特性  指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。</span></li><li><span>电气特性  指明在接口电缆的各条线上出现的电压的范围。</span></li><li><span>功能特性  指明某条线上出现的某一电平的电压表示何种意义。</span></li><li><span>过程特性  指明对于不同功能的各种可能事件的出现顺序。 </span></li></ul><h3><a name="22-数据通信的基础知识" class="md-header-anchor"></a><span>2.2 数据通信的基础知识</span></h3><h4><a name="221-数据通信系统的模型" class="md-header-anchor"></a><span>2.2.1 数据通信系统的模型</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503013411018.png" referrerpolicy="no-referrer" alt="image-20200503013411018"></p><p><span>术语</span></p><p><span>n数据(data)——运送消息的实体。</span></p><p><span>n信号(signal)——数据的电气的或电磁的表现。 </span></p><p><span>n“模拟的”(analogous)——代表消息的参数的取值是连续的。 </span></p><p><span>n“数字的”(digital)——代表消息的参数的取值是离散的。 </span></p><p><span>n码元(code)——在使用时间域（或简称为时域）的波形表示数字信号时，代表不同离散数值的基本波形。</span></p><h4><a name="222-有关信道的几个基本概念" class="md-header-anchor"></a><span>2.2.2 有关信道的几个基本概念</span></h4><ul><li><span>单向通信（单工通信）——只能有一个方向的通信而没有反方向的交互。</span></li><li><span>双向交替通信（半双工通信）——通信的双方都可以发送信息，但不能双方同时发送(当然也就不能同时接收)。</span></li><li><span>双向同时通信（全双工通信）——通信的双方可以同时发送和接收信息。 </span></li></ul><h4><a name="223-信道的极限容量" class="md-header-anchor"></a><span>2.2.3 信道的极限容量</span></h4><h5><a name="1）信道能够通过的频率范围" class="md-header-anchor"></a><span>（1）信道能够通过的频率范围</span></h5><p><span>n1924 年，奈奎斯特(Nyquist)就推导出了著名的奈氏准则。他给出了在假定的理想条件下，为了避免码间串扰，码元的传输速率的上限值。</span></p><p><span>n在任何信道中，码元传输的速率是有上限的，否则就会出现码间串扰的问题，使接收端对码元的判决（即识别）成为不可能。</span></p><p><span>n如果信道的频带越宽，也就是能够通过的信号高频分量越多，那么就可以用更高的速率传送码元而不出现码间串扰。 </span></p><h5><a name="2-信噪比" class="md-header-anchor"></a><span>(2) 信噪比 </span></h5><ul><li><span>香农(Shannon)用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。</span></li><li><span>信道的极限信息传输速率 </span><em><span>C</span></em><span> 可表达为</span></li><li><span>    </span><em><span>C</span></em><span> = </span><em><span>W</span></em><span> log2(1+</span><em><span>S</span></em><span>/</span><em><span>N</span></em><span>) b/s </span></li><li><em><span>W</span></em><span> 为信道的带宽（以 Hz 为单位）；</span></li><li><em><span>S</span></em><span> 为信道内所传信号的平均功率；</span></li><li><em><span>N</span></em><span> 为信道内部的高斯噪声功率。 </span></li></ul><p><span>香农公式表明 </span></p><p><span>信道的带宽或信道中的信噪比越大，则信息的极限传输速率就越高。 </span></p><p><span>只要信息传输速率低于信道的极限信息传输速率，就一定可以找到某种办法来实现无差错的传输。 </span></p><p><span>若信道带宽 </span><em><span>W</span></em><span> 或信噪比 </span><em><span>S</span></em><span>/</span><em><span>N</span></em><span> 没有上限（当然实际信道不可能是这样的），则信道的极限信息传输速率 </span><em><span>C</span></em><span> 也就没有上限。</span></p><p><span>实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少。 </span></p><h4><a name="224-信道的极限信息传输速率" class="md-header-anchor"></a><span>2.2.4 信道的极限信息传输速率</span></h4><h3><a name="23-物理层下面的传输媒体" class="md-header-anchor"></a><span>2.3 物理层下面的传输媒体</span></h3><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503013921105.png" referrerpolicy="no-referrer" alt="image-20200503013921105"></p><h4><a name="231-导向传输媒体" class="md-header-anchor"></a><span>2.3.1 导向传输媒体</span></h4><h4><a name="232-非导向传输媒体" class="md-header-anchor"></a><span>2.3.2 非导向传输媒体</span></h4><h3><a name="24-信道复用技术" class="md-header-anchor"></a><span>2.4 信道复用技术</span></h3><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503014121081.png" referrerpolicy="no-referrer" alt="image-20200503014121081"></p><h4><a name="241-频分复用时分复用和统计时分复用" class="md-header-anchor"></a><span>2.4.1 频分复用、时分复用和统计时分复用</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503014134884.png" referrerpolicy="no-referrer" alt="image-20200503014134884"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503014148385.png" referrerpolicy="no-referrer" alt="image-20200503014148385"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503014207713.png" referrerpolicy="no-referrer" alt="image-20200503014207713"></p><p><span>时分复用资源浪费</span></p><h4><a name="242-波分复用" class="md-header-anchor"></a><span>2.4.2 波分复用</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503014300693.png" referrerpolicy="no-referrer" alt="image-20200503014300693"></p><h4><a name="243-码分复用" class="md-header-anchor"></a><span>2.4.3 码分复用</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503014346299.png" referrerpolicy="no-referrer" alt="image-20200503014346299"></p><h3><a name="25-数字传输系统" class="md-header-anchor"></a><span>2.5 数字传输系统</span></h3><h3><a name="26-宽带接入技术" class="md-header-anchor"></a><span>2.6 宽带接入技术</span></h3><h4><a name="261-xdsl技术" class="md-header-anchor"></a><span>2.6.1 xDSL技术</span></h4><h4><a name="262-光纤同轴混合网hfc-网）" class="md-header-anchor"></a><span>2.6.2 光纤同轴混合网（HFC 网）</span></h4><h4><a name="263-fttx-技术" class="md-header-anchor"></a><span>2.6.3 FTTx 技术</span></h4><h2><a name="3-数据链路层" class="md-header-anchor"></a><span>3. 数据链路层</span></h2><p><span>数据链路层使用的信道主要有以下两种类型：</span></p><ul><li><span>点对点信道。这种信道使用一对一的点对点通信方式。</span></li><li><span>播信道。这种信道使用一对多的广播通信方式，因此过程比较复杂。广播信道上连接的主机很多，因此必须使用专用的共享信道协议来协调这些主机的数据发 </span></li></ul><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020013797.png" referrerpolicy="no-referrer" alt="image-20200503020013797"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020057560.png" referrerpolicy="no-referrer" alt="image-20200503020057560"></p><h3><a name="31-使用点对点信道的数据链路层" class="md-header-anchor"></a><span>3.1 使用点对点信道的数据链路层</span></h3><h4><a name="311-数据链路和帧" class="md-header-anchor"></a><span>3.1.1 数据链路和帧</span></h4><ul><li><span>链路(link)是一条无源的点到点的物理线路段，中间没有任何其他的交换结点。</span></li><li><span>一条链路只是一条通路的一个组成部分。</span></li><li><span>数据链路(data link) 除了物理线路外，还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上，就构成了数据链路。</span></li><li><span>现在最常用的方法是使用适配器（即网卡）来实现这些协议的硬件和软件。</span></li><li><span>一般的适配器都包括了数据链路层和物理层这两层的功能。</span></li></ul><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020325145.png" referrerpolicy="no-referrer" alt="image-20200503020325145"><span>  </span></p><h4><a name="312-三个基本问题" class="md-header-anchor"></a><span>3.1.2 三个基本问题</span></h4><h5><a name="1-封装成帧" class="md-header-anchor"></a><span>(1) 封装成帧</span></h5><ul><li><span>封装成帧(framing)就是在一段数据的前后分别添加首部和尾部，然后就构成了一个帧。确定帧的界限。</span></li><li><span>首部和尾部的一个重要作用就是进行帧定界。 </span></li></ul><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020525998.png" referrerpolicy="no-referrer" alt="image-20200503020525998"></p><h5><a name="2-透明传输" class="md-header-anchor"></a><span>(2) 透明传输</span></h5><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020546830.png" referrerpolicy="no-referrer" alt="image-20200503020546830"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020651848.png" referrerpolicy="no-referrer" alt="image-20200503020651848"></p><h5><a name="3-差错控制" class="md-header-anchor"></a><span>(3) 差错控制 </span></h5><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503020816015.png" referrerpolicy="no-referrer" alt="image-20200503020816015"></p><h3><a name="32-点对点协议-ppp" class="md-header-anchor"></a><span>3.2 点对点协议 PPP</span></h3><ul><li><span>现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。</span></li><li><span>用户使用拨号电话线接入因特网时，一般都是使用 PPP 协议。</span></li><li><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503021707638.png" referrerpolicy="no-referrer" alt="image-20200503021707638"></li><li><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503021716069.png" referrerpolicy="no-referrer" alt="image-20200503021716069"><span> </span></li></ul><h4><a name="321-ppp-协议的特点" class="md-header-anchor"></a><span>3.2.1 PPP 协议的特点</span></h4><h5><a name="ppp-协议的组成" class="md-header-anchor"></a><span>PPP 协议的组成 </span></h5><ul><li><span>1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订，现在的 PPP 协议已成为因特网的正式标准[RFC 1661]。 </span></li><li><span>PPP 协议有三个组成部分 </span></li></ul><ol start='' ><li><span>一个将 IP 数据报封装到串行链路的方法。</span></li><li><span>链路控制协议 LCP (Link Control Protocol)。</span></li><li><span>网络控制协议 NCP (Network Control Protocol)。  </span></li></ol><h4><a name="322-ppp-协议的帧格式" class="md-header-anchor"></a><span>3.2.2 PPP 协议的帧格式</span></h4><ol start='' ><li><span>标志字段 F = 0x7E （符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110）。</span></li><li><span>地址字段 A 只置为 0xFF。地址字段实际上并不起作用。</span></li><li><span>控制字段 C 通常置为 0x03。</span></li><li><span>PPP 是面向字节的，所有的 PPP 帧的长度都是整数字节。   </span></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503022034294.png" referrerpolicy="no-referrer" alt="image-20200503022034294"></p><h5><a name="透明传输问题" class="md-header-anchor"></a><span>透明传输问题</span></h5><ul><li><span>当 PPP 用在同步传输链路时，协议规定采用硬件来完成比特填充（和 HDLC 的做法一样）。 </span></li><li><span>当 PPP 用在异步传输时，就使用一种特殊的字符填充法。 </span></li></ul><p><span>字符填充</span></p><p><span>n将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。 </span></p><p><span>n若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。</span></p><p><span>n若信息字段中出现 ASCII 码的控制字符（即数值小于 0x20 的字符），则在该字符前面要加入一个 0x7D 字节，同时将该字符的编码加以改变。 </span></p><p><span>零比特填充 </span></p><p><span>nPPP 协议用在 SONET/SDH 链路时，是使用同步传输（一连串的比特连续传送）。这时 PPP 协议采用零比特填充方法来实现透明传输。</span></p><p><span>n在发送端，只要发现有 5 个连续 1，则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时，就把这 5 个连续 1 后的一个 0 删除，</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503023052343.png" referrerpolicy="no-referrer" alt="image-20200503023052343"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503023105240.png" referrerpolicy="no-referrer" alt="image-20200503023105240"><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503023105335.png" referrerpolicy="no-referrer" alt="image-20200503023105335"></p><h4><a name="323-ppp-协议的工作状态" class="md-header-anchor"></a><span>3.2.3 PPP 协议的工作状态</span></h4><ol start='' ><li><span>当用户拨号接入 ISP 时，路由器的调制解调器对拨号做出确认，并建立一条物理连接。</span></li><li><span>PC 机向路由器发送一系列的 LCP 分组（封装成多个 PPP 帧）。</span></li><li><span>这些分组及其响应选择一些 PPP 参数，和进行网络层配置，NCP 给新接入的 PC机分配一个临时的 IP 地址，使 PC 机成为因特网上的一个主机。</span></li><li><span>通信完毕时，NCP 释放网络层连接，收回原来分配出去的 IP 地址。接着，LCP 释放数据链路层连接。最后释放的是物理层的连接。  </span></li></ol><h3><a name="33-使用广播信道的数据链路层" class="md-header-anchor"></a><span>3.3 使用广播信道的数据链路层</span></h3><h4><a name="331-局域网的数据链路层" class="md-header-anchor"></a><span>3.3.1 局域网的数据链路层</span></h4><ul><li><p><span>局域网最主要的特点是：网络为一个单位所拥有，且地理范围和站点数目均有限。 </span></p></li><li><p><span>局域网具有如下的一些主要优点：</span></p><ul><li><span>具有广播功能，从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。 </span></li><li><span>便于系统的扩展和逐渐地演变，各设备的位置可灵活调整和改变。</span></li><li><span>提高了系统的可靠性、可用性和残存性。</span></li></ul></li></ul><p><span>媒体共享技术</span></p><ul><li><p><span>静态划分信道</span></p><ul><li><span>频分复用</span></li><li><span>时分复用</span></li><li><span>波分复用</span></li><li><span>码分复用 </span></li></ul></li><li><p><span>动态媒体接入控制（多点接入）</span></p><ul><li><span>随机接入</span></li><li><span>受控接入 ，如多点线路探询(polling)，或轮询。 </span></li></ul></li></ul><h4><a name="332-csmacd-协议" class="md-header-anchor"></a><span>3.3.2 CSMA/CD 协议</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503024244325.png" referrerpolicy="no-referrer" alt="image-20200503024244325"></p><ul><li><p><span>以太网的广播方式发送</span></p><ul><li><span>总线上的每一个工作的计算机都能检测到 B 发送的数据信号。 </span></li><li><span>由于只有计算机 D 的地址与数据帧首部写入的地址一致，因此只有 D 才接收这个数据帧。 </span></li><li><span>其他所有的计算机（A, C 和 E）都检测到不是发送给它们的数据帧，因此就丢弃这个数据帧而不能够收下来</span></li><li><span>具有广播特性的总线上实现了一对一的通信。 </span></li></ul></li><li><p><span>为了通信的简便以太网采取了两种重要的措施 </span></p><ul><li><span>采用较为灵活的无连接的工作方式，即不必先建立连接就可以直接发送数据。 </span></li><li><span>以太网对发送的数据帧不进行编号，也不要求对方发回确认。</span></li><li><span>这样做的理由是局域网信道的质量很好，因信道质量产生差错的概率是很小的</span></li></ul></li><li><p><span>以太网提供的服务 </span></p><ul><li><span>以太网提供的服务是不可靠的交付，即尽最大努力的交付。</span></li><li><span>当目的站收到有差错的数据帧时就丢弃此帧，其他什么也不做。差错的纠正由高层来决定。</span></li><li><span>如果高层发现丢失了一些数据而进行重传，但以太网并不知道这是一个重传的帧，而是当作一个新的数据帧来发送。 </span></li></ul></li><li><p><span>以太网发送的数据都使用 曼彻斯特(Manchester)编码 以太网发送的数据都使用曼彻斯特(Manchester)编码 </span></p></li></ul><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503024440076.png" referrerpolicy="no-referrer" alt="image-20200503024440076"></p><ul><li><p><span>载波监听多点接入/碰撞检测 CSMA/CD </span></p><ul><li><span>nCSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。</span></li><li><span>“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。</span></li><li><span>“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据，如果有，则暂时不要发送数据，以免发生碰撞。 </span></li><li><span>总线上并没有什么“载波”。因此， “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。 </span></li></ul></li><li><p><span>碰撞检测</span></p><ul><li><span>“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。</span></li><li><span>当几个站同时在总线上发送数据时，总线上的信号电压摆动值将会增大（互相叠加）。</span></li><li><span>当一个站检测到的信号电压摆动值超过一定的门限值时，就认为总线上至少有两个站同时在发送数据，表明产生了碰撞。</span></li><li><span>所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。</span></li></ul></li><li><p><span>检测到碰撞后</span></p><ul><li><span>在发生碰撞时，总线上传输的信号产生了严重的失真，无法从中恢复出有用的信息来。</span></li><li><span>每一个正在发送数据的站，一旦发现总线上出现了碰撞，就要立即停止发送，免得继续浪费网络资源，然后等待一段随机时间后再次发送。</span></li></ul></li></ul><h3><a name="34-使用广播信道的以太网" class="md-header-anchor"></a><span>3.4 使用广播信道的以太网</span></h3><h4><a name="341-使用集线器的星形拓扑" class="md-header-anchor"></a><span>3.4.1 使用集线器的星形拓扑</span></h4><h4><a name="342-以太网的信道利用率" class="md-header-anchor"></a><span>3.4.2 以太网的信道利用率</span></h4><h4><a name="343-以太网的-mac-层" class="md-header-anchor"></a><span>3.4.3 以太网的 MAC 层</span></h4><h3><a name="35-扩展的以太网" class="md-header-anchor"></a><span>3.5 扩展的以太网</span></h3><h4><a name="351-在物理层扩展以太网" class="md-header-anchor"></a><span>3.5.1 在物理层扩展以太网</span></h4><h4><a name="352-在数据链路层扩展以太网" class="md-header-anchor"></a><span>3.5.2 在数据链路层扩展以太网</span></h4><h3><a name="36-高速以太网" class="md-header-anchor"></a><span>3.6 高速以太网</span></h3><h4><a name="361-100base-t-以太网" class="md-header-anchor"></a><span>3.6.1 100BASE-T 以太网</span></h4><h4><a name="362-吉比特以太网" class="md-header-anchor"></a><span>3.6.2 吉比特以太网</span></h4><h4><a name="363-10-吉比特以太网" class="md-header-anchor"></a><span>3.6.3 10 吉比特以太网</span></h4><h4><a name="364-使用高速以太网进行宽带接入" class="md-header-anchor"></a><span>3.6.4 使用高速以太网进行宽带接入</span></h4><h3><a name="37-其他类型的高速局域网接口" class="md-header-anchor"></a><span>3.7 其他类型的高速局域网接口</span></h3><h2><a name="4-网络层" class="md-header-anchor"></a><span>4 网络层</span></h2><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503163649715.png" referrerpolicy="no-referrer" alt="image-20200503163649715"></p><p><span>本章最重要内容</span></p><p><span>(1) 虚拟互连网络的概念</span></p><p><span>(2) IP 地址与物理地址的关系</span></p><p><span>(3) 传统的分类的 IP 地址（包括子网掩码）和无分类域间路由选择 CIDR</span></p><p><span>(4) 路由选择协议的工作原理</span></p><p><span>抓包工具 ethereal</span></p><h4><a name="41-发送数据的过程" class="md-header-anchor"></a><span>4.1 发送数据的过程</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503163229601.png" referrerpolicy="no-referrer" alt="image-20200503163229601"></p><h3><a name="42-arp协议" class="md-header-anchor"></a><span>4.2 ARP协议</span></h3><blockquote><p><span>将IP地址通过广播 目标地址 FF-FF-FF-FF-FF</span></p></blockquote><p><span>动态的物理地址 缓存一段时间后会被删除</span></p><h4><a name="421-arp欺骗" class="md-header-anchor"></a><span>4.2.1 ARP欺骗</span></h4><ol start='' ><li><span>在广播的时候，将自己的mac地址传送回去</span></li><li><span>再将数据包转发给目的mac地址</span></li><li><span>达到一个转发的作用</span></li></ol><p><span>作用:网络执法官 和arp防火墙</span></p><p><span>网络执法(控制谁和谁不能通讯如 mac1 和 mac2 不能通讯，给一个假mac地址，让交换器不能解析)</span></p><pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="sh"><div class="CodeMirror cm-s-inner CodeMirror-wrap" lang="sh"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">arp <span class="cm-attribute">-a</span> 查看局域网所有mac地址</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">arp <span class="cm-attribute">-s</span> ip mac <span class="cm-comment"># 自定义ip 和mac 的绑定</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="display: none; height: 46px;"></div></div></div></pre><h3><a name="43-icmp" class="md-header-anchor"></a><span>4.3 ICMP</span></h3><p><span>用来检测网络是否畅通</span></p><blockquote><p><span>ping 命令的协议就是ICMP</span></p><p><span>pint -t 一直ping</span></p></blockquote><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503171307463.png" referrerpolicy="no-referrer" alt="image-20200503171307463"></p><p><span>TTL的值 windows 128 linux 64</span></p><pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang=""><div class="CodeMirror cm-s-inner CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"># 查看经过的路由器 让ttl从1到高</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">tracert</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">pathping</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 69px;"></div><div class="CodeMirror-gutters" style="display: none; height: 69px;"></div></div></div></pre><h3><a name="44-igmp" class="md-header-anchor"></a><span>4.4 IGMP</span></h3><p><span>点到点</span></p><p><span>广播</span></p><p><span>组播= 多播</span></p><h3><a name="45-ip数据包" class="md-header-anchor"></a><span>4.5 ip数据包</span></h3><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503175652561.png" referrerpolicy="no-referrer" alt="image-20200503175652561"></p><p><span>版本用来表示 tcp/ip 协议的版本 v4 还是v6</span></p><p><span>抓包工具: </span></p><p><span>qos 区分服务 优先转发</span></p><p><span>版本: ipv4</span></p><p><span>首部长度: </span></p><p><span>区分服务 qos</span></p><p><span>总长度: 数据包总长字节</span></p><p><span>标识: 区别分片是属于哪一个包的</span></p><p><span>标志: 占3位，最低为MF(more Fragment) MF = 1 后面还又分片 MF = 0 标识没又分片，第二位，DF(Dont Fragment) 0 可以分片</span></p><p><span>片偏移量</span><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503183339119.png" referrerpolicy="no-referrer" alt="image-20200503183339119"></p><p><span>生存时间: TTL</span></p><p><span>协议: 数据部分是什么协议 UDP 还是TCP 还是ICMP IGMP OSPF</span></p><blockquote><p><span>协议号 ICMP 协议号 1 IGMP协议2 TCP 6 UDP17 ipv6 41 OSPF 89</span></p></blockquote><p>&nbsp;</p><h4><a name="451-数据包的总长度和分片" class="md-header-anchor"></a><span>4.5.1 数据包的总长度和分片</span></h4><p><span>网络层最大数据包总长度 2的16次方 字节</span></p><p><span>数据链路层 的数据长度 46- 1500</span></p><p><span>一般传输层分段总长度不超过 1480，网络层头部一般20</span></p><p><span>如果网络层数据包超过1500 会分片，分片到底主机才组装</span></p><blockquote><p><span>一般TCP分段会小于等于 1500 ping 可以发大包 ping ip -t -l 65500</span></p></blockquote><h3><a name="46-ip协议" class="md-header-anchor"></a><span>4.6 IP协议</span></h3><p><span>能让路由器学到 路由表的都是ip协议</span></p><p><span>RIP 动态路由</span></p><p><span>OSPF 静态路由</span></p><p><span>网络畅通的条件 有去有回</span></p><h4><a name="461-动态路由和静态路由" class="md-header-anchor"></a><span>4.6.1 动态路由和静态路由</span></h4><p><span>RIP协议动态路由协议</span></p><ul><li><span>最早 周期30s 条数16</span></li></ul><p><span>OSPF 动态路由协议 开放式</span></p><ul><li><span>度量 带宽 支持多区域 触发式更新</span></li></ul><p><span>BGP协议实现自制区域</span></p><h3><a name="47-ip地址" class="md-header-anchor"></a><span>4.7 ip地址</span></h3><h4><a name="471-分类地址和默认子网掩码" class="md-header-anchor"></a><span>4.7.1 分类地址和默认子网掩码</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503215156080.png" referrerpolicy="no-referrer" alt="image-20200503215156080"></p><p><span>a 类地址 第一段 在 1-126 (127 被保留为主机)</span></p><p><span>b类地址 在 172.16 - 172.31</span></p><p><span>c类地址 第一段在 192.0.1 - 223.255.255</span></p><p><span>CIDR变长ip协议</span></p><h4><a name="472-保留的地址" class="md-header-anchor"></a><span>4.7.2 保留的地址</span></h4><p><span>127.0.0.1 本地环回地址</span></p><p><span>169.254.0.0</span></p><p><span>保留的私有地址(互联网上不存在 只有互联网)</span></p><p><span>10.0.0.0</span></p><p><span>172.16.0.0 --- 172.31.0.0</span></p><p><span>192.168.0.0 --- 192.168.255.0</span></p><h4><a name="473-子网掩码的作用" class="md-header-anchor"></a><span>4.7.3 子网掩码的作用</span></h4><p><span>主机1</span></p><p><span>ip: 192.168.80.123</span></p><p><span>子网掩码: 255.255.255.0</span></p><p><span>网关: 192.168.80.1</span></p><p>&nbsp;</p><p><span>主机2</span></p><p><span>ip: 192.168.90.123</span></p><p><span>子网掩码: 255.255.255.0</span></p><p><span>网关: 192.168.90.1</span></p><p>&nbsp;</p><blockquote><p><span>主机1 ping 主机2</span></p><ol start='' ><li><span>拿到ip地址 用自己的子网掩码做 与运算</span></li><li><span>不是本网段地址，将请求发送给网关</span></li></ol></blockquote><h4><a name="474-子网划分" class="md-header-anchor"></a><span>4.7.4 子网划分</span></h4><h4><a name="网关案例" class="md-header-anchor"></a><span>网关案例</span></h4><p><span>一台计算机有两个网关 一个网关拨号上网 一个网关连交换机。</span></p><h4><a name="472-利用超网合并网络" class="md-header-anchor"></a><span>4.7.2 利用超网合并网络</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200503205113138.png" referrerpolicy="no-referrer" alt="image-20200503205113138"></p><h3><a name="48-vpn" class="md-header-anchor"></a><span>4.8 VPN</span></h3><p><span>远程访问技术</span></p><h3><a name="49-nat和pat" class="md-header-anchor"></a><span>4.9 NAT和PAT</span></h3><p><span>正常分析私网地址是不可能访问外网的: 数据包可以出去 但是回不来</span></p><p><span>NAT 公网地址替换，给私网分配网络</span></p><p><span>PAT 公网与端口 替换</span></p><p><span>NAT的实现方式有三种，即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。</span></p><p><a href='https://baike.baidu.com/item/静态'><strong><span>静态</span></strong></a><strong><span>转换</span></strong><span>是指将内部网络的私有IP地址转换为公有IP地址，IP地址对是一对一的，是一成不变的，某个私有IP地址只转换为某个公有IP地址。借助于</span><a href='https://baike.baidu.com/item/静态'><span>静态</span></a><span>转换，可以实现外部网络对内部网络中某些特定设备（如服务器）的访问。</span></p><p><strong><span>动态转换</span></strong><span>是指将内部网络的私有IP地址转换为公用IP地址时，IP地址是不确定的，是随机的，所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说，只要指定哪些内部地址可以进行转换，以及用哪些合法地址作为外部地址时，就可以进F行动态转换。动态转换可以使用多个合法外部地址集。当</span><a href='https://baike.baidu.com/item/ISP/10152'><span>ISP</span></a><span>提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。</span></p><p><strong><span>端口多路复用（*</span></strong><span>*Port address Translation,PAT)**是指改变外出数据包的</span><a href='https://baike.baidu.com/item/源端口'><span>源端口</span></a><span>并进行端口转换，即端口</span><a href='https://baike.baidu.com/item/地址转换'><span>地址转换</span></a><span>（PAT，Port Address Translation).采用端口多路复用方式。内部网络的所有</span><a href='https://baike.baidu.com/item/主机'><span>主机</span></a><span>均可共享一个合法外部IP地址实现对Internet的访问，从而可以最大限度地节约IP地址资源。同时，又可隐藏网络内部的所有</span><a href='https://baike.baidu.com/item/主机'><span>主机</span></a><span>，有效避免来自internet的攻击。因此，目前网络中应用最多的就是端口多路复用方式。</span></p><p><strong><span>ALG（Application Level Gateway）</span></strong><span>，即应用程序级网关技术：传统的NAT技术只对IP层和传输层头部进行转换处理，但是一些应用层协议，在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换，NAT使用一种称作ALG的技术，它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。例如：对于FTP协议的PORT/PASV命令、DNS协议的 &quot;A&quot; 和 &quot;PTR&quot; queries命令和部分ICMP消息类型等都需要相应的ALG来支持。</span></p><p><span>如果协议数据报文中不包含地址信息，则很容易利用传统的NAT技术来完成透明的地址转换功能，通常我们使用的如下应用就可以直接利用传统的NAT技术：HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等</span></p><h4><a name="491-虚拟机网络设置" class="md-header-anchor"></a><span>4.9.1 虚拟机网络设置</span></h4><p><span>一个vmnet 就是一个vlan</span></p><p><span>带nat的nmnet 才可以访问外网</span></p><h2><a name="5-传输层" class="md-header-anchor"></a><span>5 传输层</span></h2><p><span>TCP 协议 </span></p><ul><li><span>分段 编号</span></li><li><span>流量控制 可靠传输</span></li><li><span>建立会话</span></li><li><span>netstat -n 查看会话</span></li></ul><p><span>UDP 协议</span></p><ul><li><span>一个包就搞定，不建立会话</span></li></ul><h3><a name="51-常用端口" class="md-header-anchor"></a><span>5.1 常用端口</span></h3><p><span>http： TCP + 80</span></p><p><span>https： TCP + 443</span></p><p><span>FTP： TCP + 21</span></p><p><span>SMTP： TCP + 25</span></p><p><span>PoP3 = TCP + 3389</span></p><p><span>RDP = TCP + 3389 共享桌面</span></p><p><span>共享文件夹= TCP + 445</span></p><p><span>SQL = TCP + 1433</span></p><p><span>DNS = TCP + 53 or TCP + 53</span></p><h3><a name="52-telnet-扫描端口" class="md-header-anchor"></a><span>5.2 telnet 扫描端口</span></h3><p><span>远程登录软件</span></p><pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="sh"><div class="CodeMirror cm-s-inner CodeMirror-wrap" lang="sh"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">telnet</span> ip port</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;"></div><div class="CodeMirror-gutters" style="display: none; height: 23px;"></div></div></div></pre><h3><a name="53-设置ip安全策略" class="md-header-anchor"></a><span>5.3 设置ip安全策略</span></h3><p><span>运行访问 80 到任何端口</span></p><p><span>不运行本机到任何端口</span></p><h3><a name="54-tcp协议" class="md-header-anchor"></a><span>5.4 TCP协议</span></h3><p><span>特点</span></p><ol start='' ><li><span>如何实现可靠传输</span></li><li><span>如何实现流量控制</span></li><li><span>如何避免网络拥塞</span></li></ol><h4><a name="541-可靠性传输" class="md-header-anchor"></a><span>5.4.1 可靠性传输</span></h4><p><span>停止等待协议</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504160306719.png" referrerpolicy="no-referrer" alt="image-20200504160306719"></p><p><span>连续ARQ协议(流水线传输)</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504160056185.png" referrerpolicy="no-referrer" alt="image-20200504160056185"></p><h3><a name="55-tcp报文格式" class="md-header-anchor"></a><span>5.5 TCP报文格式</span></h3><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504160608198.png" referrerpolicy="no-referrer" alt="image-20200504160608198"></p><ul><li><span>有的数据是没选项但是又数据 首部一般20</span></li><li><span>有的数据是有选项没数据</span></li></ul><ol start='' ><li><p><span>源端口: 4个字节</span></p></li><li><p><span>目的端口: 4个字节</span></p></li><li><p><span>序号:  数据第一个字节 是整个数据的第几个字节</span></p></li><li><p><span>确认号  : 接收端会缓存报文并去掉头部，然后发送确认号，是接受到的数据中最后一个是第几位字节+1</span></p></li><li><p><span>数据偏移: 记录报文多少字节后就是数据（值 * 4） 最大值是 60个字节</span></p></li><li><p><span>保留: 没有用 </span></p><ol start='' ><li><span>URG:  插队</span></li><li><span>ACK: 0 确认号无效 1确认号有效</span></li><li><span>PSH: 发送端 能插队的数据包 接受端 先读</span></li><li><span>SYN: 1 建立会话的请求的数据包</span></li><li><span>RES ： 重连，异常会话</span></li><li><span>FIN:  </span></li></ol></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504162012652.png" referrerpolicy="no-referrer" alt="image-20200504162012652"></p><ol start='7' ><li><span>窗口: 本机的接受缓存是多少</span></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504163253070.png" referrerpolicy="no-referrer" alt="image-20200504163253070"></p><p><span>校验和</span></p><p><span>紧急指针:  首部结尾</span></p><h4><a name="流量控制" class="md-header-anchor"></a><span>流量控制</span></h4><p><span>确认的时候带上自己的窗口大小</span></p><h4><a name="拥塞控制" class="md-header-anchor"></a><span>拥塞控制</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504171247802.png" referrerpolicy="no-referrer" alt="image-20200504171247802"></p><p><span>快重传 若 中间有终端的数据主动发送3次确认</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504171629585.png" referrerpolicy="no-referrer" alt="image-20200504171629585"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504171727812.png" referrerpolicy="no-referrer" alt="image-20200504171727812"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504171951476.png" referrerpolicy="no-referrer" alt="image-20200504171951476"></p><h4><a name="传输连接" class="md-header-anchor"></a><span>传输连接</span></h4><ol><li><span>连接建立</span></li><li><span>数据传送</span></li><li><span>连接释放</span></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504184426007.png" referrerpolicy="no-referrer" alt="image-20200504184426007"></p><p><span>为什么一定要第三次: </span></p><ol><li><span>如果是2次握手， 2次握手后会长时间不释放资源，等待数据</span></li><li><span>偶尔 由于网络问题会有2次 第一次握手，这样会造成服务器有多个保持等待的连接</span></li><li><span>由于是三次握手， 得不到第三次回应 服务器会很快断开</span></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504191355915.png" referrerpolicy="no-referrer" alt="image-20200504191355915"></p><h3><a name="56-攻击手段" class="md-header-anchor"></a><span>5.6 攻击手段</span></h3><p><span>利用建立会话的攻击 : </span></p><h3><a name="滑动窗口技术" class="md-header-anchor"></a><span>滑动窗口技术</span></h3><p><span>再窗口内连续分段传输</span></p><p><span>123是字节顺序</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504164232789.png" referrerpolicy="no-referrer" alt="image-20200504164232789"></p><p><span>超时重传时间的选择</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504165141908.png" referrerpolicy="no-referrer" alt="image-20200504165141908"></p><h2><a name="6-应用层" class="md-header-anchor"></a><span>6. 应用层</span></h2><h3><a name="61-域名服务器" class="md-header-anchor"></a><span>6.1 域名服务器</span></h3><p><span>nslook 查看域名解析结果</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504193510851.png" referrerpolicy="no-referrer" alt="image-20200504193510851"></p><h3><a name="62-dhcp" class="md-header-anchor"></a><span>6.2 DHCP</span></h3><p><span>动态主机配置</span></p><p><span>静态IP地址</span></p><p><span>动态IP地址</span></p><p><span>DHCP 请求ip地址的过程</span></p><p><span>释放租约</span></p><p><span>跨网关作用: 作用域， 在路由器接口配置 ip helper-address </span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504203625757.png" referrerpolicy="no-referrer" alt="image-20200504203625757"></p><h3><a name="63-ftp协议" class="md-header-anchor"></a><span>6.3 FTP协议</span></h3><p><span>File Transfer Protocol</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504204410580.png" referrerpolicy="no-referrer" alt="image-20200504204410580"></p><h4><a name="主动和被动" class="md-header-anchor"></a><span>主动和被动</span></h4><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200504204907987.png" referrerpolicy="no-referrer" alt="image-20200504204907987"></p><p><span>传输文件的时候 使用netstat -你查看是否使用了20端口</span></p><p><span>有20就是主动模式</span></p><p><span>主动还是被动是在客户机上设置</span></p><h3><a name="64-远程终端协议telnet" class="md-header-anchor"></a><span>6.4 远程终端协议telnet</span></h3><p><span>路由器的终端</span></p><p><span>服务器的终端</span></p><h3><a name="65-http协议" class="md-header-anchor"></a><span>6.5 http协议</span></h3><h3><a name="66-web代理服务器" class="md-header-anchor"></a><span>6.6 web代理服务器</span></h3><ol><li><span>节省内网访问Internet的带宽</span></li></ol><ol start='2' ><li><span>代理服务器可以绕过防火墙</span></li><li><span>透明</span></li></ol><h3><a name="67-邮箱协议" class="md-header-anchor"></a><span>6.7 邮箱协议</span></h3><h2><a name="7-网络安全" class="md-header-anchor"></a><span>7 网络安全</span></h2><p><span>计算机网络上的通信面临以下的四种威胁</span></p><ol><li><span>截获: 从网络上窃听他人的通信内容 被动攻击</span></li><li><span>终端: 有意中断他人在网络上的通信 主动攻击</span></li><li><span>篡改：故意篡改网络上传送的报文 主动攻击</span></li><li><span>伪造： 伪造信息在网络上传送 主动攻击</span></li></ol><p><span>CAIN 工具 可以截获和篡改本网段的信息</span></p><h3><a name="71-截获" class="md-header-anchor"></a><span>7.1 截获</span></h3><h3><a name="72-截获" class="md-header-anchor"></a><span>7.2 截获</span></h3><p><span>DOS 攻击 吃带宽 ping</span></p><p><span>DDOS 攻击 肉鸡 吃带宽</span></p><p><span>7.3 病毒和木马</span></p><p><span>计算机病毒 -- 会 传染其他程序的程序， 传染是通过修改其他程序来吧自身或其变种复制进去完成的</span></p><p><span>计算机蠕虫 -- 通过网络的通信功能将自身从一个结点发送到另一个节点并启动运行的程序</span></p><p><span>特洛伊木马 - - 一种程序 ，他执行的功能超出所声称的功能 根据代码功能 开启目标端口或者主动连接远程端口</span></p><p><span>逻辑炸弹 一种当运行环境满足某种特定条件时执行其他的</span></p><p><span>7.4 加密算法</span></p><p><span>对称加密 - 数据加密标准DES</span></p><p><span>密匙64位 实际密匙长度56位 有8位用于奇数偶数校验</span></p><p><span>非对称加密 - 密匙对</span></p><p><span>公钥加密私钥解密</span></p><p><span>私钥加密公钥解密</span></p><p><span>细节 对数据用对称加密 速度快 对对称加密的密匙加密，两个一起发送</span></p><p><span>7.4.1 数字签名</span></p><p><span>防止抵赖 能够检查签名之后的内容是否被更改</span></p><p><span>细节 对文件进行单项散列函数计算 得到散列值</span></p><p><span>用非对称算法中的私钥加密签名 与数据一起发送给对方，对方用公钥解开签名 对面 数据的散列值判断是否被篡改</span></p><p><span>7.5 证书颁发机构CA</span></p><p><span>公钥一般是由服务器发送给对方，那么如何证明公钥没被篡改 (套娃问题) </span></p><p><span>解决 需要一个公开信任机构获得</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200505025416988.png" referrerpolicy="no-referrer" alt="image-20200505025416988"></p><p><span>申请了CA</span></p><p><span>一般 私钥 一方 签名 消息 </span></p><p><span>然后一方有了公钥就可以 加密</span></p><p><span>7.6 SSL 网络套接字</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200505031430716.png" referrerpolicy="no-referrer" alt="image-20200505031430716"></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200505032534587.png" referrerpolicy="no-referrer" alt="image-20200505032534587"></p><p><span>7.6.1 给web安装ssl</span></p><ol><li><span>生成签名</span></li><li><span>在证书上申请钥匙</span></li><li><span>配置web上使用过ssl</span></li></ol><p><span>8 Internet上的音频视频</span></p><ol><li><span>流式存储音频 -- 边下边播(安装流媒体服务器) </span></li><li><span>流式 实况音频/视频 -- 边录制边发送</span></li></ol><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200505034643154.png" referrerpolicy="no-referrer" alt="image-20200505034643154"></p><ol><li><span>交互式音频/视频 -- 实时交互式通信</span></li></ol><p><span>8.1 安装流媒体服务</span></p><ol><li><span>节省用户硬盘 不用下载</span></li><li><span>保护视频版权</span></li></ol><p><span>直播推流案例</span></p><p><img src="D:\note\browse-history\LeaningNote\计算机网络\html\img\netword\image-20200505041238888.png" referrerpolicy="no-referrer" alt="image-20200505041238888"></p></div>
<script src='./js/ChangeImgToRelativeSrc.js'></script>
<script src='./js/SidebarNavigation.js'></script>
</body>
</html>